package com.mrogrape.gui;

import java.awt.event.ActionListener;

import javax.swing.JPanel;

/**
 * 堆栈面板的按钮面板的定义类。
 * 
 * @author Ice Spring
 *
 */
public abstract class WizardPageButtonPanel extends JPanel {

	/** serialVersionUID */
	private static final long serialVersionUID = 1L;

	/** “上一个”按钮 */
	public static final int BACK_BUTTON = 1; 
	/** “下一个”按钮 */
	public static final int NEXT_BUTTON = 2; 
	/** “完成”按钮 */
	public static final int FINISH_BUTTON = 3; 
	/** “取消”按钮 */
	public static final int CANCEL_BUTTON = 4; 


	/**
	 * 设置按钮显示的文本。
	 * @param text
	 * @param button
	 */
	public abstract void setButtonText(String text, int button);

	/**
	 * 获取按钮显示的文本。
	 * @param button
	 * @return
	 */
	public abstract String getButtonText(int button);

	/**
	 * 添加监听器到各个按钮。
	 * @param button
	 * @param l
	 */
	public abstract void addButtonActionListener(int button, ActionListener l);

	/**
	 * 移除各个按钮的监听器。
	 * @param button
	 * @param al
	 */
	public abstract void  removeBtnActionListener(int button, ActionListener al);

	/**
	 * 查看按钮是否显示。
	 * @param button
	 * @return
	 */
	public abstract boolean isButtonVisable(int button);

	/**
	 * 设置按钮是否显示。
	 * @param button
	 */
	public abstract void setButtonVisable(int button, boolean visable);

	/**
	 * 查看按钮是否可用。
	 * @param button
	 * @return
	 */
	public abstract boolean isButtonEnable(int button);

	/**
	 * 设置按钮是否可用。
	 * @param button
	 */
	public abstract void setButtonEnable(int button, boolean enable);

}
